package com.tuling.learnjuc.base;

import com.tuling.learnjuc.base.utils.SleepTools;
import lombok.extern.slf4j.Slf4j;

/**
 * join的测试案例
 * 等待调用join方法的线程结束后，程序再继续执行，一般用于等待异步线程执行完结果之后才能继续运行的场景
 */
@Slf4j
public class ThreadJoinDemo {

    private static int count = 0;

    public static void main(String[] args) throws InterruptedException {
        log.debug("开始执行");

        Thread t1 = new Thread(() -> {
            log.debug("开始执行");
            SleepTools.second(1);
            count = 5;
            log.debug("执行完成");
        },"t1");
        t1.start();

//        SleepTools.second(1);

        // 当前t1线程执行完成之后，再继续执行主线程
        // TODO 打上断点，观察终端输出
//        t1.join(500);

        log.debug("结果为:{}", count);
        log.debug("执行完成");


    }
}
